Integrated Development Environments (IDEs) are programming environments, including modeling environments, that are integrated into a software application. The IDEs allow code to be developed and debugged. The programming environments may be textual as well as graphical. The programming environments may be part of one application that allows multiple simultaneous views or they may be stand-alone applications such as, for example, Emacs, that combine with one or more other applications such as a C compiler, to form an IDE. Some IDEs support the concept of a ‘project’. A project is a collection of files that a user has decided to group together for a purpose. Frequently, the project files are all associated with a common graphical or textual model being developed by a user or users. Many tasks that can be performed on individual files are much more powerful when they are instead performed on all the files in a project. Examples of tasks that can benefit from being performed on all the files in a project include coverage tests and reports.
Some of the tasks that are performed on project files require that all of the files in the project be identified in order for the task to be successfully completed. The complete list of files associated with a project is referred to as a ‘project manifest’. Two exemplary tasks that require a complete project manifest are the transfer of a project from one user or computer to another user or computer and the placing of the files used by a project under source control and/or configuration management. Existing IDEs require the manual addition of files to a project and project manifest. This manual approach is both time-consuming and less than effective at identifying all of the project files.